package com.kk.xhr.common.pojo;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;

/**
 * 奖惩类型枚举
 *
 * @author luokexiong
 * @version 1.0 2021/2/18
 * @since 1.0.0
 */
@Getter
@AllArgsConstructor
public enum RewardTypeEnum {
    /** 实习生奖励 */
    INTERN((byte) 0),
    /** 全勤将 */
    FULL((byte) 1),
    /** 功劳将 */
    CREDIT((byte) 2),
    /** 缺勤 */
    ABSENCE((byte) 3),
    /** 其他 */
    OTHER((byte) 4);

    /** map */
    private static final Map<Byte, RewardTypeEnum> map = Arrays.stream(RewardTypeEnum.values())
        .collect(Collectors.toMap(RewardTypeEnum::getValue, Function.identity()));
    private final byte value;

    /**
     * 转换工具
     *
     * @param status 状态
     * @return SignStatusEnum
     */
    public static RewardTypeEnum from(Byte status) {
        return map.getOrDefault(status, OTHER);
    }

}
